// Copyright (c) Appeon. All rights reserved.
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. 
// You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.

namespace SnapObjects.Data.Odbc
{
    internal class OdbcAseSqlTokenizer : SqlTokenizer
    {
        public OdbcAseSqlTokenizer(string sqlText, ISqlGenerationHelper helper)
            : base(sqlText, helper)
        {
        }

        protected override bool IsKeyword(string text, out SqlKeywordToken keyword)
        {
            if (OdbcAseSqlKeywords.IsKeyword(text))
            {
                keyword = new SqlKeywordToken(OdbcAseSqlKeywords.Parse(text));

                return true;
            }

            keyword = null;

            return false;
        }

        protected override bool IsCharacter(string text, out SqlCharacterToken character)
        {
            if (OdbcAseSqlCharacters.IsCharacter(text))
            {
                character = new SqlCharacterToken(OdbcAseSqlCharacters.Parse(text));

                return true;
            }

            character = null;

            return false;
        }
    }
}
